LinkedList Example: LinkedList এর মাধ্যমে Data Manipulation

Java Technologies - জাভা উদাহরন (Java  Examples) - Java Collections Framework Examples
250

Java তে LinkedList একটি ডাটা স্ট্রাকচার যা Collection Framework এর অংশ। এটি একটি ডাবল লিংকড লিস্ট (doubly linked list) যা উপাদানগুলোকে লিংকেড নোড হিসেবে সংরক্ষণ করে। LinkedList ইটেমগুলোকে দ্রুত ইনসার্ট বা রিমুভ করতে সহায়তা করে, বিশেষত যখন আইটেমগুলো তালিকার শুরু বা শেষে যুক্ত বা অপসারণ করা হয়।

LinkedList এর প্রধান সুবিধা:

  1. Dynamic Size: LinkedList এর আকার পরিবর্তনশীল, তাই এটি ফিক্সড আকারের অ্যারে থেকে বেশি সুবিধাজনক।
  2. Efficient Insertions/Deletions: যদি ডেটা তালিকার শুরু বা শেষে থাকতে থাকে, তবে ইনসার্ট বা ডিলিশন কার্যক্রম দ্রুত হয়।

LinkedList ক্লাসের কিছু প্রধান মেথড:

  • add(E e): একটি উপাদান তালিকায় যুক্ত করে।
  • remove(Object o): তালিকা থেকে একটি উপাদান সরিয়ে দেয়।
  • get(int index): নির্দিষ্ট ইনডেক্সের উপাদান রিটার্ন করে।
  • size(): তালিকায় মোট উপাদান সংখ্যা রিটার্ন করে।
  • isEmpty(): তালিকা খালি কিনা তা চেক করে।

উদাহরণ: LinkedList ব্যবহার করে Data Manipulation

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        // LinkedList তৈরি
        LinkedList<String> fruits = new LinkedList<>();

        // List এ উপাদান যোগ করা
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        fruits.add("Mango");

        // List এর আউটপুট
        System.out.println("Initial List: " + fruits);

        // List এ উপাদান নির্দিষ্ট স্থানে যোগ করা (প্রথম স্থানে)
        fruits.addFirst("Pineapple");
        System.out.println("After adding to the first: " + fruits);

        // List এর শেষের দিকে একটি উপাদান যোগ করা
        fruits.addLast("Grapes");
        System.out.println("After adding to the last: " + fruits);

        // List থেকে একটি উপাদান সরানো
        fruits.remove("Banana");
        System.out.println("After removing Banana: " + fruits);

        // List থেকে প্রথম উপাদান সরানো
        fruits.removeFirst();
        System.out.println("After removing first element: " + fruits);

        // List থেকে শেষ উপাদান সরানো
        fruits.removeLast();
        System.out.println("After removing last element: " + fruits);

        // নির্দিষ্ট ইনডেক্সের উপাদান নেওয়া
        String fruitAtIndex2 = fruits.get(2);  // Index 2 তে যে উপাদান রয়েছে
        System.out.println("Element at index 2: " + fruitAtIndex2);

        // List এর আকার
        int size = fruits.size();
        System.out.println("Size of the List: " + size);

        // List খালি কিনা তা চেক করা
        boolean isEmpty = fruits.isEmpty();
        System.out.println("Is the List empty? " + isEmpty);
    }
}

কোডের ব্যাখ্যা:

  1. LinkedList fruits = new LinkedList<>();:
    • এখানে একটি LinkedList তৈরি করা হয়েছে যেটি String ডেটা ধারণ করবে।
  2. add():
    • fruits.add("Apple"); মেথডটি তালিকার শেষে "Apple" উপাদান যোগ করে।
  3. addFirst() এবং addLast():
    • addFirst("Pineapple"); প্রথম স্থানে "Pineapple" যোগ করে।
    • addLast("Grapes"); তালিকার শেষে "Grapes" যোগ করে।
  4. remove():
    • fruits.remove("Banana"); "Banana" উপাদানটি তালিকা থেকে সরিয়ে দেয়।
    • fruits.removeFirst(); তালিকার প্রথম উপাদান সরিয়ে দেয়।
    • fruits.removeLast(); তালিকার শেষ উপাদান সরিয়ে দেয়।
  5. get():
    • fruits.get(2); তালিকার 2 নম্বর ইনডেক্সে থাকা উপাদানটি রিটার্ন করে। এখানে ইনডেক্সিং 0 থেকে শুরু হয়।
  6. size():
    • fruits.size(); তালিকায় মোট উপাদান সংখ্যা রিটার্ন করে।
  7. isEmpty():
    • fruits.isEmpty(); চেক করে তালিকা খালি কিনা।

আউটপুট:

Initial List: [Apple, Banana, Orange, Mango]
After adding to the first: [Pineapple, Apple, Banana, Orange, Mango]
After adding to the last: [Pineapple, Apple, Banana, Orange, Mango, Grapes]
After removing Banana: [Pineapple, Apple, Orange, Mango, Grapes]
After removing first element: [Apple, Orange, Mango, Grapes]
After removing last element: [Apple, Orange, Mango]
Element at index 2: Mango
Size of the List: 3
Is the List empty? false

ব্যাখ্যা:

  1. প্রথমে add() ব্যবহার করে কিছু ফ্রুট তালিকায় যোগ করা হয়েছে।
  2. তারপর addFirst() এবং addLast() দিয়ে তালিকার প্রথম ও শেষের স্থানে উপাদান যোগ করা হয়েছে।
  3. remove() দিয়ে কিছু উপাদান সরানো হয়েছে এবং get() দিয়ে নির্দিষ্ট ইনডেক্সের উপাদান নেওয়া হয়েছে।
  4. শেষে size() এবং isEmpty() মেথড দিয়ে তালিকার আকার এবং খালি কিনা তা চেক করা হয়েছে।
  5. Dynamic Size: একটি LinkedList স্বয়ংক্রিয়ভাবে সাইজ পরিবর্তন করতে পারে।
  6. Efficient Insertions/Deletions: যেকোনো স্থানে উপাদান ইনসার্ট বা ডিলিট করা খুব দ্রুত হয়।
  7. Accessing Elements: যদিও লিঙ্কড লিস্টের উপাদানগুলোকে অ্যাক্সেস করা ধীরে ঘটে, তবে ইনসার্ট এবং ডিলিশন দ্রুত হয়।

এই উদাহরণটি LinkedList ব্যবহার করে ডেটার ম্যানিপুলেশন (যেমন ইনসার্ট, রিমুভ, আ্যাক্সেস) দেখাচ্ছে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...